package main

import (
	"fmt"
)

//这个程序会对切片的每个元素执行相同的操作，并返回结果
//我们把这种对集合中的每个元素进行操作的函数称为 map 函数

func iMap(s []int, f func(int) int) []int {
	var r []int
	for _, v := range s {
		r = append(r, f(v))
	}
	return r
}


func main() {
	a := []int{5, 6, 7, 8, 9}
	r := iMap(a, func(n int) int {
		return n * 5
	})
	fmt.Println(r)
}

